package com.seeyon.apps.zhiwei.nbtest.util;

import com.seeyon.ctp.common.exceptions.BusinessException;
import com.seeyon.ctp.util.JDBCAgent;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class DBUtil {

    public static List<Map<String, Object>> select(String sql, List params) throws Exception {
        List<Map<String, Object>> list = new ArrayList<>();
        JDBCAgent jdbc = new JDBCAgent(true);
//        public JDBCAgent(boolean raw)
//        传入true时将使用原始的数据库连接构造JDBCAgent，false则使用Spring管理的数据库连接
//        参数:
//        raw - 是否使用原始的数据库连接构造JDBCAgent
        try {
            if(null == params) {
                jdbc.execute(sql);
            } else {
                jdbc.execute(sql, params);
            }
            if(!sql.startsWith("update")) {
                list = jdbc.resultSetToList();
            }
        } catch(Exception e) {
            throw e;
        } finally {
            jdbc.close();
        }
        return list;
    }

    public static int update(String sql, List params) throws Exception {
        JDBCAgent jdbc = new JDBCAgent(true);
        int i = 0;
        try {
            i = jdbc.execute(sql, params);
        } catch(Exception e) {
            throw e;
        } finally {
            jdbc.close();
        }
    	return i;
    }


}
